#ifndef CURVEWIDGET_H
#define CURVEWIDGET_H

#include <QGraphicsWidget>
#include <QColor>
// #include <QPen>
#include <QPainterPath>
#include <QPainter>



class CurveWidget : public QGraphicsWidget
{
    Q_OBJECT
public:
    explicit CurveWidget(QGraphicsWidget* parent = nullptr);
    explicit CurveWidget(QSize size);
    void setPainterPath(QPainterPath* pPainterPath);                                                                // 设置曲线绘制路径
    void setColors(QColor backgroundColor, QColor foregroundColor);                                                 // 设置背景色与前景色
    void setLineWidth(int width);                                                                                   // 设置曲线线条宽度
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;
    QRectF boundingRect() const;

private:
    QPainterPath* m_pPainterPath = nullptr;                 // 曲线路径
    QColor m_backgroundColor;                                       // 背景色
    QColor m_foregroundColor;                                         // 画笔颜色
    int m_lineWidth = 1;                                    // 画笔线条宽度
    QSize m_size;
};

#endif // CURVEWIDGET_H
